#ifndef BINDSFMLGRAPHICS_HPP
#define BINDSFMLGRAPHICS_HPP

// std-Header
#include <string>

// SFML
#include <SFML/Graphics.hpp>

// Eigene Header
#include "../Lua.hpp"
#include "../Drawable.hpp"
#include "Static.hpp"

namespace bind
{
	namespace SFML
	{
		namespace graphics
		{
			void Bind(lua_State* lua, const std::string& ns);
			void BDrawable(lua_State* lua, const std::string& ns);
			void BColor(lua_State* lua, const std::string& ns);
			void BFont(lua_State* lua, const std::string& ns);
			void BGlyph(lua_State* lua, const std::string& ns);
			void BImage(lua_State* lua, const std::string& ns);
			void BMatrix3(lua_State* lua, const std::string& ns);
			void BRenderer(lua_State* lua, const std::string& ns);
			void BRenderImage(lua_State* lua, const std::string& ns);
			void BRenderTarget(lua_State* lua, const std::string& ns);
			void BRenderWindow(lua_State* lua, const std::string& ns);
			void BShader(lua_State* lua, const std::string& ns);
			void BShape(lua_State* lua, const std::string& ns);
			void BSprite(lua_State* lua, const std::string& ns);
			void BString(lua_State* lua, const std::string& ns);
			void BView(lua_State* lua, const std::string& ns);
		}
	}
}

#endif //BINDSFMLGRAPHICS_HPP